package hibernate.web;

import hibernate.fileControler.MyException;
import hibernate.model.Bekleyenhatalistesi;
import hibernate.service.EmmyService;

import java.util.List;

import javax.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@SuppressWarnings("serial")
@Component("BekleyenhatalistesiBean")
@Scope("session")
public class BekleyenhatalistesiBean implements BeanService {

	@Autowired
	private transient EmmyService emmyService;	
	
	private Bekleyenhatalistesi currentBekleyenHataListesi;		
	private List<Bekleyenhatalistesi> BekleyenHataListesi;
	
	@SuppressWarnings("unchecked")
	@Override
	@PostConstruct
	public void init() {
		BekleyenHataListesi = (List<Bekleyenhatalistesi>) emmyService.findAll(new Bekleyenhatalistesi());
	}

	@Override
	public String restart() {
		init();
		return "list";
	}

	@Override
	public String deleteView() {
		emmyService.delete(currentBekleyenHataListesi.getBkid());
		init();
		return "list";
	}

	@Override
	public String viewNew() {
		currentBekleyenHataListesi= new Bekleyenhatalistesi();
		return "detail";
	}

	@Override
	public String viewDetail() { /*
		List<Bekleyenhatalistesi> valueList = (List<Bekleyenhatalistesi>) bekleyenhatalisTable.getValue();	
		System.out.println("table size : "+valueList.size());		
		Iterator<Object> keys = bekleyenhatalisTable.getSelection().getKeys();
		
		if(keys.hasNext()){
			currentBekleyenHataListesi= valueList.get(((SimpleRowKey) keys.next()).intValue());
			System.out.println("dolu = "+currentBekleyenHataListesi.getBkid());
			return "detail";
		}else{
			System.out.println("bo�ta");
			return null;
		}*/return"detay";
	} 

	@Override
	public String SaveOrUpdate() throws MyException {
		emmyService.saveOrUpdate(currentBekleyenHataListesi);
		init();
		return "list";
	}

	@SuppressWarnings("unchecked")
	public String getDetayliBekleyenHataListesi(){		
		BekleyenHataListesi = (List<Bekleyenhatalistesi>) emmyService.getQuery(createQuery());
		return "list";
	}
	
	@Override
	public String createQuery() {
		
		Bekleyenhatalistesi bkhtl  = currentBekleyenHataListesi;		
		String query = "from Bekleyenhatalistesi";				
		
		if(bkhtl == null){
			return query;
		}
		if(bkhtl.getHataKodu() != 0){
			if(query.indexOf("where") != -1){
				query += " and hataKodu="+bkhtl.getHataKodu()+"";
				
			}
			else{
				query += " where hataKodu="+bkhtl.getHataKodu()+"";			
			}
		}
		if(bkhtl.getAygit().getAygitid() != 0){
			if(query.indexOf("where") != -1){
				query += " and aygitid="+bkhtl.getAygit().getAygitid()+"";
				
			}
			else{
				query += " where aygitid="+bkhtl.getAygit().getAygitid()+"";			
			}
		}
		if(bkhtl.getAygitSeriNo() != 0){
			if(query.indexOf("where") != -1){
				query += " and aygitSeriNo="+bkhtl.getAygitSeriNo()+"";
				
			}
			else{
				query += " where aygitSeriNo="+bkhtl.getAygitSeriNo()+"";			
			}
		}
		return query;
	}

	@Override
	public void getSession() {
		// TODO Auto-generated method stub
		
	}

	public Bekleyenhatalistesi getCurrentBekleyenHataListesi() {
		return currentBekleyenHataListesi;
	}

	public void setCurrentBekleyenHataListesi(
			Bekleyenhatalistesi currentBekleyenHataListesi) {
		this.currentBekleyenHataListesi = currentBekleyenHataListesi;
	}

	public List<Bekleyenhatalistesi> getBekleyenHataListesi() {
		return BekleyenHataListesi;
	}

	public void setBekleyenHataListesi(List<Bekleyenhatalistesi> bekleyenHataListesi) {
		BekleyenHataListesi = bekleyenHataListesi;
	}
}